/**
 * Contains an unnecessary and slow abstraction layer used
 * to separate framework and core subsystems from the other
 * subsystems.
 * Basically, every subsystem can define listeners that can
 * listen to specific connections, entities, entity class
 * combinations or everything. To separate possible listener
 * classes from the subsystems, every class that listeners
 * can be registered to defines a <tt>ListenerConfiguration</tt>
 * that listeners can be added to. This way, the collections
 * of listeners do not have to be explicitly declared in the
 * class that contains the listeners.
 * 
 * @author Philipp Christian Loewner
 */
package mirrormonkey.util.listeners;